#===istalismanplugin===
# -*- coding: utf-8 -*-

# $Revision: 55 $
# $Author: rchiganov@gmail.com $
# $Date: 2013-08-23 04:02:47 +0000 (Fri, 23 Aug 2013) $

#---------------------------------------------------------------------------------------------------

def help ( ptype, psource, pparameters ):
	lanswer = u''
	lparam  = pparameters.split()
	if len(lparam) > 1:
		lanswer = u'нихачууу... я только об одной команде могу говорить, а тут их много... :-('
		reply(ptype, psource, lanswer)
		return

	if len(lparam) == 0:
		lanswer = u'Напиши слово:\n"комлист" (без кавычек), чтобы получить список команд\n"хелп <команда>" для получения помощи по команде\n"макролист" для получения списка макросов'
		reply(ptype, psource, lanswer)
		return

	if COMMANDS.has_key(lparam[0]):
		lanswer = u'\n' + COMMANDS[lparam[0]]['desc'].decode('utf-8')

		llist = []
		for lcategory in COMMANDS[lparam[0]]['category']:
			llist.append(lcategory.decode('utf-8'))

		lanswer += u'\nКатегории: ' + u', '.join(llist)
		lanswer += u'\nИспользование:' + u'\n    >>> ' + COMMANDS[lparam[0]]['syntax'].decode('utf-8')

		llist = []
		for lexample in COMMANDS[lparam[0]]['examples']:
			llist.append(lexample.decode('utf-8'))

		lanswer += u'\nПримеры:\n    >>> ' + u'\n    >>> '.join(llist)
		lanswer += u'\nНеобходимый уровень доступа: ' + str(COMMANDS[lparam[0]]['access']).decode('utf-8')

		if COMMOFF.has_key(psource[1]):
			if lparam[0] in COMMOFF[psource[1]]:
				lanswer += u'\nЭта команда отключена в этой конференции!!!'

		if ( len(lanswer) > 900 ) and ( ptype == 'public' ):
			reply(ptype, psource, lanswer[0:900] + u' >>>\n\n Полную справку по команде смотрите в привате!!!')
		else:
			reply(ptype, psource, lanswer)
		return

	if MACROS.gmacrolist.has_key(lparam[0]):
		reply(ptype, psource, u'ацтань... для макросов справка не предусмотрена... :-\\')
		return
	
	if MACROS.macrolist.has_key(psource[1]):
		if MACROS.macrolist[psource[1]].has_key(lparam[0]):
			reply(ptype, psource, u'ацтань... для макросов справка не предусмотрена... :-\\')
			return

	reply(ptype, psource, u'не знаю что ты от меня хочешь... я умываю руки... сами разбирайтесь...')

#---------------------------------------------------------------------------------------------------

register_command_handler(help, 'помощь', ['хелп', 'инфо', 'все'], 0, 'Даёт основную справку или посылает информацию об определённой команде.', 'помощь [команда]', ['помощь', 'помощь пинг'])
register_command_handler(help, 'хелп', ['хелп', 'инфо', 'все'], 0, 'Даёт основную справку или посылает информацию об определённой команде.', 'хелп [команда]', ['хелп', 'хелп пинг'])

#---------------------------------------------------------------------------------------------------
